//Validacion Pegudo jquery
jQuery.validator.addMethod(
	'IsEmpty', 
	function(v) {
		return  ((v == null) || (v.length == 0));
	},
	''
);

jQuery.validator.addMethod(
	"requerido", 
	function(v) { 
		return !jQuery.validator.methods.IsEmpty(v);
	}, 
	"Campo obligatorio"
);

jQuery.validator.addMethod(
	"validar-cantStock", 
	function(v) {		
	errorNegativo=false;
	errorNan=false; 
		if (!isNaN(v)){
			if (v >= 0){
				return true;
			}
			else 
				errorNegativo=true;
				return false;
		}
			errorNan=true;
			return false;
	},
	function(){
		if(errorNan)
			return 'Debe ingresar solo numeros.';
		else if (errorNegativo)
			return 'Debe ingresar numeros positivos.';
	}
);

jQuery.validator.addMethod(
	"validar-numero", 
	function(v) {		
	errorNegativo=false;
	errorNan=false; 
		if (!isNaN(v)){
			if (v > 0){
				return true;
			}
			else 
				errorNegativo=true;
				return false;
		}
			errorNan=true;
			return false;
	},
	function(){
		if(errorNan)
			return 'Debe ingresar solo numeros.';
		else if (errorNegativo)
			return 'Debe ingresar numeros positivos.';
	}
);

jQuery.validator.addMethod(
	"validar-condicion-iva", 
	function(v) { 
		return jQuery('#condiva')[0].value != '';
	}, 
	"Debe seleccionar una condición."
);

//usar mascara
jQuery.validator.addMethod(
	"validar-cuit", 
	function(v) { 
		condIva = jQuery('#condiva');
		if(condIva[0].value != 'consumidor final')
	   		return /^\d{2}\-\d{8}\-\d{1}$/.test(v);
		else
			return jQuery.validator.methods.IsEmpty(v);

	},function(){
		condIva = jQuery('#condiva');
		if(condIva[0].value != 'consumidor final')
			return "Debe ingresar un cuit válido. XX-XXXXXXXX-X .";
		else
			return "Al ser consumidor final el CUIT es vacio"
	}
);

jQuery.validator.addMethod(
	"validar-letras", 
	function(v) { 
		return jQuery.validator.methods.IsEmpty(v) || /^[a-zA-Z\W\.\-\_\s]+$/.test(v);
	}, 
	"Debe ingresar solo letras."
);

jQuery.validator.addMethod(
	"validar-doc", 
	function(v) {
		return /^\d{1,2}\.\d{3}\.\d{3}$/.test(v);
	}, 
	"Debe ingresar un documento válido. XX.XXX.XXX."
);
//Fecha tipo dd-mm-aaaa
jQuery.validator.addMethod(
	"validar-fecha", 
	function(v) { 
       return /^\d{2}\-\d{2}\-\d{4}$/.test(v);
	}, 
	"Debe ingresar una fecha válida. dd-mm-aaaa. "
);

jQuery.validator.addMethod(
	"validar-letras-num", 
	function(v) { 
	 	return jQuery.validator.methods.IsEmpty(v) || /^[a-zA-Z0-9\W\.\-\_\s]{1,50}$/i.test(v)

	}, 
	"Debe ingresar solo letras o numeros."
);

jQuery.validator.addMethod(
	"validar-email", 
	function(v) { 
		return jQuery.validator.methods.IsEmpty(v) || /\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/.test(v)
	}, 
	"Debe ingresar un e-mail valido. Por ejemplo info@logeum.com.ar ."
);

jQuery.validator.addMethod(
	"validar-url", 
	function(v) { 
		return jQuery.validator.methods.IsEmpty(v) || /^((http|https|ftp):\/\/)?(([A-Z0-9][A-Z0-9_-]*)(\.[A-Z0-9][A-Z0-9_-]*)+)(:(\d+))?\/?/i.test(v)
	}, 
	"Ingrese una URL valida.Por ejemplo: www.logeum.com.ar "
);

jQuery.validator.addMethod(
	"validar-telefono", 
	function(v) { 
		return jQuery.validator.methods.IsEmpty(v) || /^\(?\d{4,4}\)?\-\d{7,7}|\(?\d{5,5}\)?\-\d{6,6}$/.test(v)
	}, 
	"Ingrese un telefono valido.Ej: 03773-421568 / 0342-4557177 "
);

jQuery.validator.addMethod(
	"validar-celular", 
	function(v) { 
		return jQuery.validator.methods.IsEmpty(v) || /^\(?\d{4,4}\)?\-\d{9,9}|\(?\d{5,5}\)?\-\d{8,8}$/.test(v)
	}, 
	"Ingrese un celular valido.Ej: 0342-154293512 / 03773-15489456 "
);

	"validar-cuit", 
	function(v) { 
		condIva = jQuery('#condiva');
		if(condIva[0].value != 'consumidor final')
	   		return /^\d{2}\-\d{8}\-\d{1}$/.test(v);
		else
			return jQuery.validator.methods.IsEmpty(v);

	},function(){
		condIva = jQuery('#condiva');
		if(condIva[0].value != 'consumidor final')
			return "Debe ingresar un cuit válido. XX-XXXXXXXX-X .";
		else
			return "Al ser consumidor final el CUIT es vacio"
	}

jQuery.validator.addMethod(
	"validar-monto", 
	// [$]1[##][,###]+[.##]
	// [$]1###+[.##]
	// [$]0.##
	// [$].##
	function(v) { 
		montoNegativo = false;
		if (!isNaN(v)) {
			if (v > 0) {
				return jQuery.validator.methods.IsEmpty(v) || /^\$?\-?([1-9]{1}[0-9]{0,2}(\,[0-9]{3})*(\.[0-9]{0,2})?|[1-9]{1}\d*(\.[0-9]{0,2})?|0(\.[0-9]{0,2})?|(\.[0-9]{1,2})?)$/.test(v)
			}
			else {
				montoNegativo = true;
				return false;
			}
		}
		else {
			montoNegativo = false;
			return false;
		}
	}, function () {
		if (montoNegativo)
			return "Debe ingresar un monto positivo."		
		else	
			return "Ingrese un monto correcto. Por ejemplo $100,000.50. "
	}
);

jQuery.validator.addMethod(
	"validar-forma-pago", 
	function(v) { 
	   //alert('formapago:'+(jQuery('#formapago')[0].value == false)+'end');
		//alert('with.option: '+jQuery('#formapago')[0].options[0].value);
		//alert('without.option: '+jQuery('#formapago')[0].value);
       return jQuery('#formapago')[0].value != false;
	}, 
	"Debe seleccionar una condición. "
);
			 			 
jQuery.validator.addMethod(
	"longmin", 
	function(value, element, param) { 
		return this.optional(element) || this.getLength(value, element) >= param;
	}, 
	"Ingrese a lo sumo {0} caracteres "
);
		 
jQuery.validator.addMethod(
	"longmax", 
	function(value, element, param) { 
		return this.optional(element) || this.getLength(value, element) <= param;
	}, 
	"No ingrese mas de {0} caracteres "
);
		 
		 